1. Field of the Invention
The present invention relates to methods for displaying graphic information. In particular, the present invention relates to methods for clipping three dimensional images for display on a two dimensional cathode ray tube display.
2. Art Background
One of the most common and natural means of communicating with a computer is through graphic representations of data displayed on a cathode ray tube (CRT) display. Humans interact readily in terms of images, and a person is able to absorb or manipulate information presented in a visual context much faster than if it is represented simply by text. Over the past two decades, a variety of computer graphic systems have been developed to display objects as two and three dimensional images on what is, by definition, a two dimensional CRT display screen. Computer generated images may represent data, real or imagined objects, and may synthesize combinations of images into scenes and pictures. In addition, computer generated graphics provide an excellent means to visualize time varying phenomena such as the deflection of an aircraft wing in supersonic flight, or the development of a galaxy over time in intergalactic space.
One of the most challenging uses of a computer display system is the generation, manipulation and display of three dimensional objects portrayed on the two dimensional display screen. Each point comprising an object in three dimensional space is described by X, Y, Z and W coordinates. See, J. D. Foley. A. Van Dam, "Fundamentals of Interactive Computer Graphics", (Addison Wesley, July 1984). It is well known that objects described with reference to X, Y, Z and W coordinates must be transformed to different viewing parameters on the display. A point comprising an image must be transformed from a world coordinate system of X, Y, Z into a view reference coordinate system which has its origin fixed at the view point of the user, and its Z axis pointed in the direction of the display screen. Typically, the world coordinates are passed through modeling and viewing transforms prior to being clipped. A perspective divide step is then completed which places the images to be displayed into a "viewing pyramid". The view reference coordinate system may, therefore, be considered to be the coordinate system after the modeling and viewing transforms have been accomplished. A variety of techniques have been developed to convert points in the world coordinate system to the view reference coordinate system for display. See, Newman, Sproull, "Fundamentals of Interactive Computer Graphics", (McGraw-Hill, 1979).
However, after the points comprising the image have been transformed by the modeling and viewing transformations, three dimensional clipping must be accomplished to insure that objects do not exceed the prescribed limits of the view. The view port comprises a viewing pyramid defining that portion of the view reference coordinate space which the viewer can actually see on the display. Historically, certain types of objects have presented problems during three dimensional clipping. Examples of problem areas include curves, lines which intersect an W=0 space, or objects which intersect one of the clipping planes which define the viewing pyramid in the view reference coordinate system. A number of methods have been developed for clipping homogeneous coordinates, including the method described by Blinn in "Clipping Using Homogeneous Coordinates", Computer Graphics, Vol. 12, No. 3, August 1978.
The problem of clipping certain types of three dimensional images has resulted in degraded display system performance and efficiency. As will be described, the present invention provides a method for defining clipping planes and achieving three dimensional clipping for any type of image to be displayed, including curves, discontinuous line segments, as well as front and back clipping to achieve proper perspective views.